package org.rslai.autotest.core.page;

/**
 * Frame处理<br>
 * 提供Frame切换等方法
 * @author rslai
 */
public interface Frame {

	/**
	 * 初始化当前frame，每次启动浏览器或每次新运行用例需要执行此方法
	 */
	public void initCurrentFrame();

	/**
	 * Frame切换
	 * @param clazz clazz 当前class，例: this.getClass()
	 * @param frames frame数组，支持如下四种类型：String、int、By<br>
	 * 例1：如果只需要切换到default上，switchToFrame(this.getClass(), this.driver());<br>
	 * 例2：如果需要切换到id为myIframe的frame上，switchToFrame(this.getClass(), this.driver(), By.id("myIframe"));<br>
	 * 例3：如果需要切换到name为mainContainer的frame上，switchToFrame(this.getClass(), this.driver(), "mainContainer_iframeId");<br>
	 * 例4：如果需要切换多个frame，switchToFrame(this.getClass(), this.driver(), "fram1", "fram2");
	 */
	public void switchToFrame(Class<?> clazz, Object...frames);

}
